package com.sl.au.entity;

import java.util.Date;


import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;

/**
 * 部件信息
 * 
 * @author 刘昆
 *
 */
@Entity
@Table(name = "sl_wcsi_PartBaseInfo")
public class PartBaseInfo extends Root{
	@Column(nullable = true)
	private String partName;//部件名称
	
	@Column(nullable = true)
	private String partIdentify;//部件标识码
	
	@ManyToOne
	@JoinColumn(name = "part_id",nullable = true)
	private Part part;//所属部件
	
	@ManyToOne
	@JoinColumn(name = "gridAreaInfo_id",nullable = true)
	private GridAreaInfo gridAreaInfo;//所属网格
	
	@Column(nullable = true)
	private String divisionIdentify;//所属网格的区域标识码
	
	@ManyToOne
	@JoinColumn(name = "hierarchy_id",nullable = true)
	private Hierarchy hierarchy;//权属部门
	
	@Column(nullable = true)
	private String hierarchyIdentify;//权属部门编码
	
	@Column(nullable = true)
	private String manufacturer;//生产厂家
	
	@Column(nullable = true)
	private Date productionTime;//生产时间
	
	@Column(nullable = true)
	private Date installationTime;//安装时间
	
	@Column(nullable = true)
	private String iconAddress;//图标地址
	
	@Column(nullable = true)
	private double longitude;//经度
	
	@Column(nullable = true)
	private double latitude;//纬度
	
	@ManyToOne
	@JoinColumn(name = "state_id",nullable = true)
	private Option state;//状态
	
	@Column(nullable = true)
	private int orderNum = 0;//权属部门排序号
	
	@Column(nullable = true)
	private int partOrderNum = 0;//部件层级排序号
	
	@Column(nullable = true)
	private String interfaceAddress;//接口地址
	
	@Column(nullable = true)
	private String interfacePort;//接口端口
	
	@Column(name = "deviceIdentify" , nullable = true)
	private String deviceIdentify;//设备编码

	@ManyToOne
	@JoinColumn(name = "manageHierarchy",nullable = true)
	private Hierarchy manageHierarchy;//管理部门

	@ManyToOne
	@JoinColumn(name = "maintainHierarchy",nullable = true)
	private Hierarchy maintainHierarchy;//维护部门
	
	@Column(name = "partAdress" , nullable = true)
	private String partAdress;//设备编码
	
	public String getPartName() {
		return partName;
	}

	public void setPartName(String partName) {
		this.partName = partName;
	}

	public String getPartIdentify() {
		return partIdentify;
	}

	public void setPartIdentify(String partIdentify) {
		this.partIdentify = partIdentify;
	}

	public String getManufacturer() {
		return manufacturer;
	}

	public void setManufacturer(String manufacturer) {
		this.manufacturer = manufacturer;
	}

	public Date getProductionTime() {
		return productionTime;
	}

	public void setProductionTime(Date productionTime) {
		this.productionTime = productionTime;
	}

	public Date getInstallationTime() {
		return installationTime;
	}

	public void setInstallationTime(Date installationTime) {
		this.installationTime = installationTime;
	}

	public String getIconAddress() {
		return iconAddress;
	}

	public void setIconAddress(String iconAddress) {
		this.iconAddress = iconAddress;
	}

	public double getLongitude() {
		return longitude;
	}

	public void setLongitude(double longitude) {
		this.longitude = longitude;
	}

	public double getLatitude() {
		return latitude;
	}

	public void setLatitude(double latitude) {
		this.latitude = latitude;
	}

	public Option getState() {
		return state;
	}

	public void setState(Option state) {
		this.state = state;
	}

	public String getInterfaceAddress() {
		return interfaceAddress;
	}

	public void setInterfaceAddress(String interfaceAddress) {
		this.interfaceAddress = interfaceAddress;
	}

	public String getInterfacePort() {
		return interfacePort;
	}

	public void setInterfacePort(String interfacePort) {
		this.interfacePort = interfacePort;
	}

	public int getOrderNum() {
		return orderNum;
	}

	public void setOrderNum(int orderNum) {
		this.orderNum = orderNum;
	}

	public Part getPart() {
		return part;
	}

	public void setPart(Part part) {
		this.part = part;
	}

	public GridAreaInfo getGridAreaInfo() {
		return gridAreaInfo;
	}

	public void setGridAreaInfo(GridAreaInfo gridAreaInfo) {
		this.gridAreaInfo = gridAreaInfo;
	}

	public Hierarchy getHierarchy() {
		return hierarchy;
	}

	public void setHierarchy(Hierarchy hierarchy) {
		this.hierarchy = hierarchy;
	}

	public String getHierarchyIdentify() {
		return hierarchyIdentify;
	}

	public void setHierarchyIdentify(String hierarchyIdentify) {
		this.hierarchyIdentify = hierarchyIdentify;
	}

	public String getDivisionIdentify() {
		return divisionIdentify;
	}

	public void setDivisionIdentify(String divisionIdentify) {
		this.divisionIdentify = divisionIdentify;
	}

	public int getPartOrderNum() {
		return partOrderNum;
	}

	public void setPartOrderNum(int partOrderNum) {
		this.partOrderNum = partOrderNum;
	}

	public Hierarchy getManageHierarchy() {
		return manageHierarchy;
	}

	public void setManageHierarchy(Hierarchy manageHierarchy) {
		this.manageHierarchy = manageHierarchy;
	}

	public Hierarchy getMaintainHierarchy() {
		return maintainHierarchy;
	}

	public void setMaintainHierarchy(Hierarchy maintainHierarchy) {
		this.maintainHierarchy = maintainHierarchy;
	}

	public String getDeviceIdentify() {
		return deviceIdentify;
	}

	public void setDeviceIdentify(String deviceIdentify) {
		this.deviceIdentify = deviceIdentify;
	}

	public String getPartAdress() {
		return partAdress;
	}

	public void setPartAdress(String partAdress) {
		this.partAdress = partAdress;
	}
}
